package com.ftg.learn.chapter06;

import java.util.Arrays;
import java.util.Queue;
import java.util.Stack;
import java.util.Vector;

/**
 * vector
 *
 * @author kangjx
 * @date 2022/12/27
 */
public class LearnVector {

    /**
     * 给大家点时间 ，敢看老外代码
     *
     * @param args
     */
    public static void main(String[] args) {
        Vector v1 = new Vector();

        v1.add(0, 23);
        v1.add(24);
        v1.add(25);

        System.out.println(v1.get(0));
        //15 敢读

        int[] a = new int[2];
//        维度指的是[]的个数
        int[][] as = new int[2][];
        //二维(维度 []个数 )数组

        //声明二维数组  不开启地址
        int[][] arr1;

        //二维 ： 就是一个一维数组里面每一个元素还是一个一数组
        //表示创建一个二维数组变量  arr2 =  在堆里面开启一个空间 垂直划分 三个部分 0 1 2
        int[][] arr2 = new int[3][];

        //nullpointerexception 空指针
//        arr2[下标][下标] 这个方式不可取
        arr2[0] = new int[]{1, 2, 3};
        arr2[1] = new int[]{1, 2, 3, 4};
        arr2[2] = new int[]{1, 2, 3, 4, 5};
        //一共开辟6个空间  全部指向arr3  arr3 - 长度为3的垂直划分空间 ， 然后垂直空间里面又指向了2
        int[][] arr3 = new int[3][2];
        arr3[0][0] = 45;
        arr3[0][1] = 6;
        //二维数组的arr3.length 3 只  2

        int[][] arr4 = new int[][]{{1,2,3},{4,5,6}};

        int[][][] arr5 = new int[3][4][2];


        char[][] cs = new char[9][9];
        for (char[] c : cs) {
            Arrays.fill(c, '*');
        }


        for (char[] c : cs) {
            System.out.println(Arrays.toString(c));
        }

        for (int i = 0, len = cs.length; i < len; i++) {
            char[] c = cs[i];
            System.out.println(Arrays.toString(c));
        }

        //三种循环  for while dowhile


        //变形
//        第一种变形 增强型for  用来快速对数组集合进行遍历操作
//        for(类型 变量 : 数组){
//            //变量 表示数组里面的第一个元素
//        }

        //1 完成二维的数组定义

        //2 int[][] as = new int[][]{{1,2,3,4,5,6,7,8},{2,3,4,11,12}}
        //两行中重复的数字

        //线性结构当中  ： 栈   ->  向进去的元素后出来
//                            public void push(int obj);每一次push方法把元素 放到数组的未尾
//                                pop() ；默认取数组里面下标最大的元素 .
        //            ： 队列 ->  向进去的元素先出来
//                                addQueue(int obj)入队，在队尾添加   poll() 最


    }

}
